package org.jsola.hr.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.dto.BaseDTO;
import org.jsola.salary.dto.CustomerDetailsAddDTO;

import javax.validation.constraints.NotNull;
import java.util.List;


/**
 * @author Mr.Zheng
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "修改【子公司分管公司关系表】的参数")
@Data
public class HrCustomerDetailsNewAddDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = "类型;salary;salary:薪资明细，social:社保明细，customer:客户明细")
    @NotNull(message = "明细表类型不能为空")
    private String type;
    @ApiModelProperty(notes = "明细表年份")
    @NotNull(message = "明细表年份不能为空")
    private Integer yearly;
    @ApiModelProperty(notes = "明细表月份")
    @NotNull(message = "明细表月份不能为空")
    private Integer monthly;
    @ApiModelProperty(notes = "薪资数据来源年份")
    private Integer salaryYearly;
    @ApiModelProperty(notes = "薪资数据来源月份")
    private Integer salaryMonthly;
    @ApiModelProperty(notes = "社保数据来源年份")
    private Integer socialYearly;
    @ApiModelProperty(notes = "社保数据来源月份")
    private Integer socialMonthly;
    @ApiModelProperty(notes = "个人所属期")
    private String personalPeriod;

    @ApiModelProperty(notes = "内部全部表头")
    private String header;

    @ApiModelProperty(notes = "用工单位信息")
    private List<CompanyInfo> companyInfoList;

    @Data
    public static class CompanyInfo {

        @ApiModelProperty(notes = "用工单位Id")
        private String companyId;

        @ApiModelProperty(notes = "用工单位名称")
        private String companyName;

    }

    @ApiModelProperty(notes = "选择的服务费项")
    List<Long> serviceChargeIds;

}
